package ${package.Service};

import ${superServiceClassPackage};
import ${package.Convert}.${convert};
import ${package.Dto}.${dto};
import ${package.Entity}.${entity};
import ${package.queryPkg}.${query};
import ${package.Vo}.${vo};
import com.diaohw.platform.common.obj.page.PageResultVo;

import java.util.List;

/**
 * <p>
 * ${table.comment!} 服务类
 * </p>
 *
 * @author ${author}
 * @since ${date}
 */
<#if kotlin>
interface ${table.serviceName} : ${superServiceClass}<${entity}>
<#else>
public interface ${table.serviceName} extends ${superServiceClass}<${entity}> {

    ${convert} INSTANCE = ${convert}.INSTANCE;

    /**
     * 新增
     */
    ${vo} create(${dto} data);

    /**
     * 更新
     */
    ${vo} update(String id, ${dto} data);

    /**
     * 删除
     */
    Boolean delete(String id);

    /**
     * 依据查询条件删除
     */
    Boolean delete(${query} query);

    /**
     * 依据ID查看信息
     */
    ${vo} detail(String id);

    /**
     * 查询列表
     */
    List<${vo}> findByList(${query} query);

    /**
     * 分页查看
     */
    PageResultVo<${vo}> findByPage(${query} query);

}
</#if>
